window.onload = function() {
	getGoodNavType((data) => {
		let typeList = document.querySelector(".type_list>ul");
		let goodListData = data.data;
		let text = '';
		goodListData.forEach((item, index) => {
			text += "<li><a href=''><img src ='" + item.cat_img + "'/><p>" + item.cat_name +
				"</p></a></li>"
		});
		typeList.innerHTML = text;
	});

	const cityData = {
		bj: ['北京市'],
		tj: ['天津市'],
		sh: ['上海市'],
		cq: ['重庆市'],
		he: ['石家庄市', '唐山市', '秦皇岛市', '邯郸市', '邢台市', '保定市', '张家口市', '承德市', '沧州市', '廊坊市', '衡水市'],
		sx: ['太原市', '大同市', '阳泉市', '长治市', '晋城市', '朔州市', '晋中市', '运城市', '忻州市', '临汾市', '吕梁市'],
		nm: ['呼和浩特市', '包头市', '乌海市', '赤峰市', '通辽市', '鄂尔多斯市', '呼伦贝尔市', '巴彦淖尔市', '乌兰察布市'],
		ln: ['沈阳市', '大连市', '鞍山市', '抚顺市', '本溪市', '丹东市', '锦州市', '营口市', '阜新市', '辽阳市', '盘锦市', '铁岭市', '朝阳市', '葫芦岛市'],
		jl: ['长春市', '吉林市', '四平市', '辽源市', '通化市', '白山市', '松原市', '白城市'],
		hl: ['哈尔滨市', '齐齐哈尔市', '鸡西市', '鹤岗市', '双鸭山市', '大庆市', '伊春市', '佳木斯市', '七台河市', '牡丹江市', '黑河市', '绥化市'],
		js: ['南京市', '无锡市', '徐州市', '常州市', '苏州市', '南通市', '连云港市', '淮安市', '盐城市', '扬州市', '镇江市', '泰州市', '宿迁市'],
		zj: ['杭州市', '宁波市', '温州市', '嘉兴市', '湖州市', '绍兴市', '金华市', '衢州市', '舟山市', '台州市', '丽水市'],
		ah: ['合肥市', '芜湖市', '蚌埠市', '淮南市', '马鞍山市', '淮北市', '铜陵市', '安庆市', '黄山市', '滁州市', '阜阳市', '宿州市', '六安市', '亳州市',
			'池州市', '宣城市'
		],
		fj: ['福州市', '厦门市', '莆田市', '三明市', '泉州市', '漳州市', '南平市', '龙岩市', '宁德市'],
		jx: ['南昌市', '景德镇市', '萍乡市', '九江市', '新余市', '鹰潭市', '赣州市', '吉安市', '宜春市', '抚州市', '上饶市'],
		sd: ['济南市', '青岛市', '淄博市', '枣庄市', '东营市', '烟台市', '潍坊市', '济宁市', '泰安市', '威海市', '日照市', '临沂市', '德州市', '聊城市',
			'滨州市', '菏泽市'
		],
		ha: ['郑州市', '开封市', '洛阳市', '平顶山市', '安阳市', '鹤壁市', '新乡市', '焦作市', '濮阳市', '许昌市', '漯河市', '三门峡市', '南阳市', '商丘市',
			'信阳市', '周口市', '驻马店市'
		],
		hb: ['武汉市', '黄石市', '十堰市', '宜昌市', '襄阳市', '鄂州市', '荆门市', '孝感市', '荆州市', '黄冈市', '咸宁市', '随州市'],
		hn: ['长沙市', '株洲市', '湘潭市', '衡阳市', '邵阳市', '岳阳市', '常德市', '张家界市', '益阳市', '郴州市', '永州市', '怀化市', '娄底市'],
		gd: ['广州市', '深圳市', '珠海市', '汕头市', '佛山市', '韶关市', '湛江市', '肇庆市', '江门市', '茂名市', '惠州市', '梅州市', '汕尾市', '河源市',
			'阳江市', '清远市', '东莞市', '中山市', '潮州市', '揭阳市', '云浮市'
		],
		gx: ['南宁市', '柳州市', '桂林市', '梧州市', '北海市', '防城港市', '钦州市', '贵港市', '玉林市', '百色市', '贺州市', '河池市', '来宾市', '崇左市'],
		hi: ['海口市', '三亚市', '三沙市', '儋州市'],
		sc: ['成都市', '自贡市', '攀枝花市', '泸州市', '德阳市', '绵阳市', '广元市', '遂宁市', '内江市', '乐山市', '南充市', '眉山市', '宜宾市', '广安市',
			'达州市', '雅安市', '巴中市', '资阳市'
		],
		gz: ['贵阳市', '六盘水市', '遵义市', '安顺市', '毕节市', '铜仁市'],
		yn: ['昆明市', '曲靖市', '玉溪市', '保山市', '昭通市', '丽江市', '普洱市', '临沧市'],
		xz: ['拉萨市', '日喀则市', '昌都市', '林芝市', '山南市', '那曲市', '阿里地区'],
		sn: ['西安市', '铜川市', '宝鸡市', '咸阳市', '渭南市', '延安市', '汉中市', '榆林市', '安康市', '商洛市'],
		gs: ['兰州市', '嘉峪关市', '金昌市', '白银市', '天水市', '武威市', '张掖市', '平凉市', '酒泉市', '庆阳市', '定西市', '陇南市'],
		qh: ['西宁市', '海东市', '海北藏族自治州', '黄南藏族自治州', '海南藏族自治州', '果洛藏族自治州', '玉树藏族自治州', '海西蒙古族藏族自治州'],
		nx: ['银川市', '石嘴山市', '吴忠市', '固原市', '中卫市'],
		xj: ['乌鲁木齐市', '克拉玛依市', '吐鲁番市', '哈密市', '昌吉回族自治州', '博尔塔拉蒙古自治州', '巴音郭楞蒙古自治州', '阿克苏地区', '克孜勒苏柯尔克孜自治州',
			'喀什地区', '和田地区', '伊犁哈萨克自治州', '塔城地区', '阿勒泰地区'
		],
		tw: ['台北市', '高雄市', '基隆市', '台中市', '台南市', '新竹市', '嘉义市'],
		hk: ['香港特别行政区'],
		mo: ['澳门特别行政区']
	};

	const provinceSelect = document.getElementById('province');
	const citySelect = document.getElementById('city');

	provinceSelect.addEventListener('change', function() {
		const selectedProvince = this.value;
		citySelect.innerHTML = '<option value="">请选择市</option>';

		if (selectedProvince && cityData[selectedProvince]) {
			cityData[selectedProvince].forEach(city => {
				const option = document.createElement('option');
				option.value = city;
				option.textContent = city;
				citySelect.appendChild(option);
			});
		}
	});


	const saveAddressBtn = document.getElementById('saveAddressBtn');
	const addressContainer = document.getElementById('addressContainer');
	let addresses = [];
	let defaultAddressIndex = -1;

	saveAddressBtn.addEventListener('click', function() {
		const name = document.getElementById('nameInput').value;
		const phone = document.getElementById('phoneInput').value;
		const province = provinceSelect.options[provinceSelect.selectedIndex].text;
		const city = citySelect.options[citySelect.selectedIndex].text;
		const detailAddress = document.getElementById('detailAddress').value;

		if (name && phone && province && city && detailAddress) {

			const newAddress = {
				name: name,
				phone: phone,
				province: province,
				city: city,
				detailAddress: detailAddress,
				isDefault: false
			};
			addresses.push(newAddress);
			renderAddresses();
			document.getElementById('nameInput').value = '';
			document.getElementById('phoneInput').value = '';
			document.getElementById('detailAddress').value = '';
			provinceSelect.selectedIndex = 0;
			citySelect.innerHTML = '<option value="">所在市</option>';
		} else {
			alert('请填写完整的地址信息！');
		}
	});

	function renderAddresses() {
		addressContainer.innerHTML = '';

		addresses.forEach((address, index) => {
			const addressBox = document.createElement('div');
			addressBox.className = 'address-box' + (address.isDefault ? ' default' : '');
			addressBox.innerHTML = `
                        <div class="address-line">
                            <strong>${address.name}</strong>，${address.phone}
                        </div>
                        <div class="address-line">${address.province} ${address.city} ${address.detailAddress}</div>
                        <span class="default-tag">默认地址</span>
                        <div class="address-actions">
                            <button class="set-default-btn" data-index="${index}">设为默认</button>
                            <button class="edit-address-btn" data-index="${index}">编辑</button>
                            <button class="delete-address-btn" data-index="${index}">删除</button>
                        </div>
                    `;
			addressContainer.appendChild(addressBox);
		});

		document.querySelectorAll('.set-default-btn').forEach(btn => {
			btn.addEventListener('click', function() {
				const index = parseInt(this.getAttribute('data-index'));
				setDefaultAddress(index);
			});
		});

		document.querySelectorAll('.edit-address-btn').forEach(btn => {
			btn.addEventListener('click', function() {
				const index = parseInt(this.getAttribute('data-index'));
				editAddress(index);
			});
		});

		document.querySelectorAll('.delete-address-btn').forEach(btn => {
			btn.addEventListener('click', function() {
				const index = parseInt(this.getAttribute('data-index'));
				deleteAddress(index);
			});
		});
	}

	function setDefaultAddress(index) {
		addresses.forEach((addr, i) => {
			addr.isDefault = (i === index);
		});
		defaultAddressIndex = index;
		renderAddresses();
	}

	function editAddress(index) {
		const address = addresses[index];
		document.getElementById('nameInput').value = address.name;
		document.getElementById('phoneInput').value = address.phone;
		document.getElementById('detailAddress').value = address.detailAddress;

		provinceSelect.value = '';
		for (const [key, cities] of Object.entries(cityData)) {
			if (cities.includes(address.city)) {
				provinceSelect.value = key;
				provinceSelect.dispatchEvent(new Event('change'));
				setTimeout(() => {
					citySelect.value = address.city;
				}, 0);
				break;
			}
		}

		addresses.splice(index, 1);
		renderAddresses();
	}

	function deleteAddress(index) {
		if (confirm('确定要删除这个地址吗？')) {
			addresses.splice(index, 1);
			if (defaultAddressIndex === index) {
				defaultAddressIndex = -1;
			} else if (defaultAddressIndex > index) {
				defaultAddressIndex--;
			}
			renderAddresses();
		}
	}
};